// keyof 取interface的键后保存为联合类型
interface userinfo {
  name: string;
  age: number;
}
type keyofValue = keyof userinfo;
// 这是keyofValue 相当于 'name' | 'age'

// in取联合类型的值，主要用于数组和对象的构建
// interface不能使用in关键字
// interface userinfo2 {
//   [key in keyofValue]: string
// }

type userinfo2 = {
  [ket in keyofValue]: string;
};
// userinfo2 相当于 {name: string, age: string}
